home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: Alpha / Whiteline Alpha.iso / progtool / modula2 / lpr / mogli / aes.def next >
Encoding:
Modula Definition  |  1994-09-22  |  44.0 KB  |  1,250 lines

  1.  
  2.   (* --------------------------------------------------------------------- *)
  3.   (*       AES (Application Environment Service) DEFINITION MODULE         *)
  4.   (* --------------------------------------------------------------------- *)
  5.   (*     Einheitliche Modula-2 Schnittstelle zum GEM AES des ATARI ST      *)
  6.   (* --------------------------------------------------------------------- *)
  7.   (*                           Uwe Brahm                                   *)
  8.   (*                      Johannes Schneiders                              *)
  9.   (* --------------------------------------------------------------------- *)
  10.   (*            Version 1.0 von Mittwoch dem 1. November 1989              *)
  11.   (* --------------------------------------------------------------------- *)
  12.   (* Alle Rechte vorbehalten. Insbesondere bleiben Änderungen jeglicher    *)
  13.   (* Art, sowie Anpassungen an andere Compiler bzw. Computersysteme        *)
  14.   (* ausschließlich uns vorbehalten.                                       *)
  15.   (*          Copyright © 1989 by Uwe Brahm, Johannes Schneiders.          *)
  16.   (* --------------------------------------------------------------------- *)
  17.   (* Es wurden alle erdenklichen Maßnahmen getroffen, um die Korrektheit   *)
  18.   (* dieser Bibliothek zu gewährleisten. Wir können dennoch keine Gewähr   *)
  19.   (* für die Vollständigkeit und Korrektheit übernehmen und schließen      *)
  20.   (* deshalb alle Gewährleistungsansprüche, die durch Fehler in der        *)
  21.   (* Software entstehen, ausdrücklich aus.                                 *)
  22.   (* --------------------------------------------------------------------- *)
  23.   (* Um einen einheitlichen Standard auch in Zukunft gewährleisten zu      *)
  24.   (* können, existiert eine zentrale Softwarewartung der Bibliotheken.     *)
  25.   (* Sollten Sie Fehler entdecken oder Verbesserungsvorschläge haben,      *)
  26.   (* wenden Sie sich schriftlich an:                                       *)
  27.   (*  U.Brahm, J.Schneiders,  Carlo-Schmid-Straße 15, 6750 Kaiserslautern  *)
  28.   (* --------------------------------------------------------------------- *)
  29.   (* Unterstützte Compiler:                                                *)
  30.   (*                    TDI Modula-2  (Version 3.00)                       *)
  31.   (*                    SPC Modula-2  (Version 1.42)                       *)
  32.   (* --------------------------------------------------------------------- *)
  33.   (* ATARI ST ist ein Warenzeichen der Firma Atari                         *)
  34.   (* GEM ist ein Warenzeichen der Firma Digital Research                   *)
  35.   (* --------------------------------------------------------------------- *)
  36.  
  37.  
  38. DEFINITION MODULE AES;
  39.  
  40.  
  41.   FROM SYSTEM IMPORT ADDRESS;
  42.  
  43.  
  44.   (* ----------- Konstanten und Typen zu den AES-Bibliotheken ------------ *)
  45.  
  46.   (* -------------------- AES Applikations-Bibliothek -------------------- *)
  47.  
  48.   CONST
  49.     (* TapeSpeedScale : INTEGER *)
  50.     NormalTapeSpeed = 100;
  51.     (* ApplEvents : INTEGER *)
  52.     ApplTimerEvent    = 0;
  53.     ApplButtonEvent   = 1;
  54.     ApplMouseEvent    = 2;
  55.     ApplKeyboardEvent = 3;
  56.  
  57.  
  58.   TYPE
  59.     ApplTapeType     = RECORD
  60.                          Filler : INTEGER;
  61.                          CASE ApplEvent : INTEGER OF
  62.                            ApplTimerEvent    : TimeCount         : LONGINT;|
  63.                            ApplButtonEvent   : MouseButtonClicks : INTEGER;
  64.                                                MouseButtons      : BITSET;|
  65.                            ApplMouseEvent    : MouseXPos         : INTEGER;
  66.                                                MouseYPos         : INTEGER;|
  67.                            ApplKeyboardEvent : KeyboardState     : BITSET;
  68.                                                KeyCode           : INTEGER;|
  69.                          END;
  70.                        END;
  71.  
  72.  
  73.   (* ---------------------- AES Ereignis-Bibliothek ---------------------- *)
  74.  
  75.   CONST
  76.     MaxPipeIndex      = 7;
  77.     (* Events : BITSET *)
  78.     KeyboardEvent     = 0;
  79.     ButtonEvent       = 1;
  80.     Mouse1Event       = 2;
  81.     Mouse2Event       = 3;
  82.     MessageEvent      = 4;
  83.     TimerEvent        = 5;
  84.     (* Message events : INTEGER *)
  85.     MenuSelected      = 10;
  86.     WindowRedraw      = 20;
  87.     WindowTopped      = 21;
  88.     WindowClosed      = 22;
  89.     WindowFulled      = 23;
  90.     WindowArrowed     = 24;
  91.     WindowHorizSlided = 25;
  92.     WindowVertSlided  = 26;
  93.     WindowSized       = 27;
  94.     WindowMoved       = 28;
  95.     WindowNewTopped   = 29;
  96.     WindowUntopped    = 30; (* Ab GEM 2.0 *)
  97.     AccessoryOpened   = 40;
  98.     AccessoryClosed   = 41;
  99.     (* ArrowSlideKind : INTEGER *)
  100.     SlidePageUp       = 0;
  101.     SlidePageDown     = 1;
  102.     ArrowLineUp       = 2;
  103.     ArrowLineDown     = 3;
  104.     SlidePageLeft     = 4;
  105.     SlidePageRight    = 5;
  106.     ArrowColumnLeft   = 6;
  107.     ArrowColumnRight  = 7;
  108.     (* Mouse event modes : INTEGER [0..1] *)
  109.     EnterBox          = 0;
  110.     ExitBox           = 1;
  111.     (* Mouse buttons : BITSET *)
  112.     LeftMouseButton   = 0;
  113.     RightMouseButton  = 1;
  114.     (* Control keys : BITSET *)
  115.     RightShiftKey     = 0;
  116.     LeftShiftKey      = 1;
  117.     ControlKey        = 2;
  118.     AlternateKey      = 3;
  119.     CapsLockKey       = 4;
  120.     (* EventDoubleClick parameter : INTEGER [0..1] *)
  121.     GetSpeed          = 0;
  122.     SetSpeed          = 1;
  123.  
  124.  
  125.   TYPE
  126.     (* Sieht kompliziert aus, macht das Arbeiten mit Events aber recht einfach *)
  127.     MessageEventType = RECORD
  128.                          CASE : BOOLEAN OF
  129.                            TRUE : MessageKind       : INTEGER;
  130.                                   ApplicationID     : INTEGER;
  131.                                   MessageOversize   : INTEGER;
  132.                                   CASE : INTEGER OF
  133.                                     MenuSelected    : MenuTitle       : INTEGER;
  134.                                                       MenuEntry       : INTEGER;|
  135.                                     AccessoryOpened,
  136.                                     AccessoryClosed : MenuEntryClose  : INTEGER; (* Fehler in ST-GEM *)
  137.                                                       MenuEntryOpen   : INTEGER;|
  138.                                     WindowRedraw,
  139.                                     WindowTopped,
  140.                                     WindowClosed,
  141.                                     WindowFulled,
  142.                                     WindowSized,
  143.                                     WindowMoved,
  144.                                     WindowNewTopped,
  145.                                     WindowUntopped,
  146.                                     WindowArrowed,
  147.                                     WindowHorizSlided,
  148.                                     WindowVertSlided  : WindowHandle    : INTEGER;
  149.                                                         CASE : INTEGER OF
  150.                                                           WindowRedraw      : RedrawXPos      : INTEGER;
  151.                                                                               RedrawYPos      : INTEGER;
  152.                                                                               RedrawWidth     : INTEGER;
  153.                                                                               RedrawHeight    : INTEGER;|
  154.                                                           WindowTopped,
  155.                                                           WindowClosed,
  156.                                                           WindowFulled,
  157.                                                           WindowSized,
  158.                                                           WindowMoved,
  159.                                                           WindowNewTopped,
  160.                                                           WindowUntopped    : WindowXPos      : INTEGER;
  161.                                                                               WindowYPos      : INTEGER;
  162.                                                                               WindowWidth     : INTEGER;
  163.                                                                               WindowHeight    : INTEGER;|
  164.                                                           WindowArrowed     : ArrowSlideKind  : INTEGER;|
  165.                                                           WindowHorizSlided,
  166.                                                           WindowVertSlided  : SliderPos       : INTEGER;|
  167.                                                         END;|
  168.                                   ELSE
  169.                                     RestMessagePipe : ARRAY [3..MaxPipeIndex] OF INTEGER;
  170.                                   END;|
  171.                          ELSE
  172.                            MessagePipe : ARRAY [0..MaxPipeIndex] OF INTEGER;
  173.                          END;
  174.                        END;
  175.  
  176.  
  177.   (* ------------------------ AES Menü-Bibliothek ------------------------ *)
  178.  
  179.   CONST
  180.     (* Show, Check, Enable, Normal : INTEGER [0..1] *)
  181.     Off = 0;
  182.     On  = 1;
  183.  
  184.  
  185.   (* ----------------------- AES Objekt-Bibliothek ----------------------- *)
  186.  
  187.   CONST
  188.     MaxObjectIndex = 1023;
  189.     MaxChars       =  128;
  190.     (* Object Types : INTEGER *)
  191.     GraphicBox              = 20;
  192.     GraphicText             = 21;
  193.     GraphicBoxText          = 22;
  194.     GraphicImage            = 23;
  195.     GraphicUserDef          = 24;
  196.     GraphicInvisibleBox     = 25;
  197.     GraphicButton           = 26;
  198.     GraphicBoxChar          = 27;
  199.     GraphicString           = 28;
  200.     GraphicFormattedText    = 29;
  201.     GraphicFormattedBoxText = 30;
  202.     GraphicIcon             = 31;
  203.     GraphicTitle            = 32;
  204.     (* Object flags : BITSET *)
  205.     Selectable  = 0;
  206.     Default     = 1;
  207.     Exit        = 2;
  208.     Editable    = 3;
  209.     RadioButton = 4;
  210.     LastObject  = 5;
  211.     TouchExit   = 6;
  212.     HideTree    = 7;
  213.     Indirect    = 8;
  214.     (* Object states : BITSET *)
  215.     Selected        = 0;
  216.     Crossed         = 1;
  217.     Checked         = 2;
  218.     Disabled        = 3;
  219.     Outlined        = 4;
  220.     Shadowed        = 5;
  221.     Draw3D          = 6; (* Ab GEM 2.0 *)
  222.     WhiteBackground = 7; (* Ab GEM 2.0 *)
  223.     (* Object colors : INTEGER *)
  224.     White        =  0;
  225.     Black        =  1;
  226.     Red          =  2;
  227.     Green        =  3;
  228.     Blue         =  4;
  229.     Cyan         =  5;
  230.     Yellow       =  6;
  231.     Magenta      =  7;
  232.     LightWhite   =  8;
  233.     LightBlack   =  9;
  234.     LightRed     = 10;
  235.     LightGreen   = 11;
  236.     LightBlue    = 12;
  237.     LightCyan    = 13;
  238.     LightYellow  = 14;
  239.     LightMagenta = 15;
  240.     (* TedInfo.Font : INTEGER *)
  241.     NormalFont = 3;
  242.     SmallFont  = 5;
  243.     (* TedInfo.Justification : INTEGER *)
  244.     LeftJustified  = 0;
  245.     Centered       = 1;
  246.     RightJustified = 2;
  247.     (* EditKind : INTEGER *)
  248.     EditStart = 0;
  249.     EditInit  = 1;
  250.     EditChar  = 2;
  251.     EditEnd   = 3;
  252.     (* ObjectRedraw : INTEGER [0..1] *)
  253.     RedrawOff = 0;
  254.     RedrawOn  = 1;
  255.  
  256.  
  257.   TYPE
  258.     ObjectType         = RECORD
  259.                            Next          : INTEGER;
  260.                            FirstChild    : INTEGER;
  261.                            LastChild     : INTEGER;
  262.                            Type          : INTEGER;
  263.                            Flags         : BITSET;
  264.                            State         : BITSET;
  265.                            CASE : INTEGER OF
  266.                              GraphicButton,
  267.                              GraphicString,
  268.                              GraphicTitle            : TextPointer      : POINTER TO ARRAY [0..MaxChars] OF CHAR;|
  269.                              GraphicText,
  270.                              GraphicBoxText,
  271.                              GraphicFormattedText,
  272.                              GraphicFormattedBoxText : TedInfoPointer   : POINTER TO TedInfoType;|
  273.                              GraphicIcon             : IconBlockPointer : POINTER TO IconBlockType;|
  274.                              GraphicImage            : BitBlockPointer  : POINTER TO BitBlockType;|
  275.                              GraphicUserDef          : UserBlockPointer : POINTER TO UserBlockType;|
  276.                            ELSE
  277.                              Specification : ADDRESS;
  278.                            END;
  279.                            XPos          : INTEGER;
  280.                            YPos          : INTEGER;
  281.                            Width         : INTEGER;
  282.                            Height        : INTEGER;
  283.                          END;
  284.     TreePointerType    = POINTER TO TreeType;
  285.     TreeType           = ARRAY [0..MaxObjectIndex] OF ObjectType;
  286.     TedInfoType        = RECORD
  287.                            TextPointer     : POINTER TO ARRAY [0..MaxChars] OF CHAR;
  288.                            TemplatePointer : POINTER TO ARRAY [0..MaxChars] OF CHAR;
  289.                            ValidPointer    : POINTER TO ARRAY [0..MaxChars] OF CHAR;
  290.                            Font            : INTEGER;
  291.                            Reserved1       : INTEGER;
  292.                            Justification   : INTEGER;
  293.                            Color           : INTEGER;
  294.                            Reserved2       : INTEGER;
  295.                            Thickness       : INTEGER;
  296.                            TextLength      : INTEGER;
  297.                            TemplateLength  : INTEGER;
  298.                          END;
  299.     IconBlockType      = RECORD
  300.                            MaskPointer   : ADDRESS;
  301.                            DataPointer   : ADDRESS;
  302.                            TextPointer   : POINTER TO ARRAY [0..MaxChars] OF CHAR;
  303.                            ColorAndChar  : INTEGER;
  304.                            CharX         : INTEGER;
  305.                            CharY         : INTEGER;
  306.                            XPosition     : INTEGER;
  307.                            YPosition     : INTEGER;
  308.                            WidthBytes    : INTEGER;
  309.                            Height        : INTEGER;
  310.                            TextXPosition : INTEGER;
  311.                            TextYPosition : INTEGER;
  312.                            TextWidth     : INTEGER;
  313.                            TextHeight    : INTEGER;
  314.                          END;
  315.     BitBlockType       = RECORD
  316.                            DataPointer : ADDRESS;
  317.                            WidthBytes  : INTEGER;
  318.                            Height      : INTEGER;
  319.                            XPosition   : INTEGER;
  320.                            YPosition   : INTEGER;
  321.                            Color       : INTEGER;
  322.                          END;
  323.     UserBlockType      = RECORD
  324.                            CodePointer : ADDRESS;
  325.                            Parameter   : LONGINT;
  326.                          END;
  327.     ParameterBlockType = RECORD
  328.                            TreePointer    : TreePointerType;
  329.                            Object         : INTEGER;
  330.                            PreviousState  : BITSET;
  331.                            CurrentState   : BITSET;
  332.                            XPos           : INTEGER;
  333.                            YPos           : INTEGER;
  334.                            Width          : INTEGER;
  335.                            Height         : INTEGER;
  336.                            ClippingXPos   : INTEGER;
  337.                            ClippingYPos   : INTEGER;
  338.                            ClippingWidth  : INTEGER;
  339.                            ClippingHeight : INTEGER;
  340.                            Parameter      : LONGINT;
  341.                          END;
  342.  
  343.  
  344.    (* ---------------------- AES Formular-Bibliothek ---------------------- *)
  345.  
  346.   CONST
  347.     (* FormDial Flags : INTEGER [0..3] *)
  348.     FormStart  = 0;
  349.     FormGrow   = 1;
  350.     FormShrink = 2;
  351.     FormFinish = 3;
  352.  
  353.  
  354.   (* ----------------------- AES Grafik-Bibliothek ----------------------- *)
  355.  
  356.   CONST
  357.     (* Mouse forms : INTEGER *)
  358.     Arrow         =   0;
  359.     TextCursor    =   1;
  360.     HourGlass     =   2;
  361.     PointHand     =   3;
  362.     FlatHand      =   4;
  363.     ThinCross     =   5;
  364.     ThickCross    =   6;
  365.     OutlinedCross =   7;
  366.     UserDefined   = 255;
  367.     MouseOff      = 256;
  368.     MouseOn       = 257;
  369.     (* Inside/outside Object : INTEGER [0..1] *)
  370.     OutSideObject = 0;
  371.     InsideObject  = 1;
  372.     (* Vert/horiz slide : INTEGER [0..1] *)
  373.     HorizSlide = 0;
  374.     VertSlide  = 1;
  375.  
  376.  
  377.   TYPE
  378.     MouseFormType        = RECORD
  379.                              HotSpotXPos  : INTEGER;
  380.                              HotSpotYPos  : INTEGER;
  381.                              Planes       : INTEGER;
  382.                              MaskColor    : INTEGER;
  383.                              PointerColor : INTEGER;
  384.                              MaskData     : ARRAY [0..15] OF INTEGER;
  385.                              PointerData  : ARRAY [0..15] OF INTEGER;
  386.                            END;
  387.     MouseFormPointerType = POINTER TO MouseFormType;
  388.  
  389.  
  390.   (* ---------------------- AES Fenster-Bibliothek ----------------------- *)
  391.  
  392.   CONST
  393.     (* Window elements : BITSET *)
  394.     WindowName        = 0;
  395.     WindowCloser      = 1;
  396.     WindowFuller      = 2;
  397.     WindowMover       = 3;
  398.     WindowInfo        = 4;
  399.     WindowSizer       = 5;
  400.     WindowUpArrow     = 6;
  401.     WindowDownArrow   = 7;
  402.     WindowVertSlider  = 8;
  403.     WindowLeftArrow   = 9;
  404.     WindowRightArrow  = 10;
  405.     WindowHorizSlider = 11;
  406.     (* WindowCalc flags : INTEGER *)
  407.     CalculateBorder   =  0;
  408.     CalculateWork     =  1;
  409.     (* WindowGet / Set Parameter : INTEGER *)
  410.     Kind           =  1;
  411.     Name           =  2;
  412.     Info           =  3;
  413.     WorkXYWH       =  4;
  414.     CurrXYWH       =  5;
  415.     PrevXYWH       =  6;
  416.     FullXYWH       =  7;
  417.     HorizSlidePos  =  8;
  418.     VertSlidePos   =  9;
  419.     Top            = 10;
  420.     FirstXYWH      = 11;
  421.     NextXYWH       = 12;
  422.     Reserved       = 13; (* Wir sind ja nicht abergläubig ! *)
  423.     NewDesktop     = 14;
  424.     HorizSlideSize = 15;
  425.     VertSlideSize  = 16;
  426.     WindowScreen   = 17;
  427.     Attributes     = 18; (* Ab GEM 2.0 *)
  428.     SizeTop        = 19; (* Ab GEM 2.0 *)
  429.     (* Fensterkennung des "Desktop" *)
  430.     DesktopHandle  = 0;
  431.     (* WindowUpdate parameters : INTEGER *)
  432.     EndWindowUpdate   = 0;
  433.     BeginWindowUpdate = 1;
  434.     EndMouseControl   = 2;
  435.     BeginMouseControl = 3;
  436.  
  437.  
  438.   (* ---------------------- AES Resource-Bibliothek ---------------------- *)
  439.  
  440.   CONST
  441.     (* ResourceGetAddress Modes : INTEGER *)
  442.     RTree        =  0;
  443.     RObject      =  1;
  444.     RTedInfo     =  2;
  445.     RIconBlock   =  3;
  446.     RBitBlock    =  4;
  447.     RString      =  5;
  448.     RImageData   =  6;
  449.     RObSpec      =  7;
  450.     RText        =  8;
  451.     RTemplate    =  9;
  452.     RValid       = 10;
  453.     RIconBlkMask = 11;
  454.     RIconBlkData = 12;
  455.     RIconBlkText = 13;
  456.     RBitBlkData  = 14;
  457.     RFreeString  = 15;
  458.     RFreeImage   = 16;
  459.  
  460.  
  461.   TYPE
  462.     ResourceType = RECORD
  463.                      Version            : INTEGER;
  464.                      PosOfObjects       : INTEGER;
  465.                      PosOfTedInfos      : INTEGER;
  466.                      PosOfIconBlocks    : INTEGER;
  467.                      PosOfBitBlocks     : INTEGER;
  468.                      PosOfFreeStrings   : INTEGER;
  469.                      PosOfFreeImageData : INTEGER;
  470.                      PosOfFreeImages    : INTEGER;
  471.                      PosOfTreeTable     : INTEGER;
  472.                      NumberOfObjects    : INTEGER;
  473.                      NumberOfTrees      : INTEGER;
  474.                      NumberOfTedInfos   : INTEGER;
  475.                      NumberOfIconBlocks : INTEGER;
  476.                      NumberOfBitBlocks  : INTEGER;
  477.                      NumberOfStrings    : INTEGER;
  478.                      NumberOfImages     : INTEGER;
  479.                      Size               : INTEGER;
  480.                    END;
  481.  
  482.  
  483.   (* ----------------------- AES Shell-Bibliothek ------------------------ *)
  484.  
  485.   CONST
  486.     (* ShellWrite Parameter : INTEGER [0..1] *)
  487.     ExecuteNot = 0;
  488.     Execute    = 1;
  489.     NotGraphic = 0;
  490.     Graphic    = 1;
  491.     NotGEM     = 0;
  492.     GEM        = 1;
  493.  
  494.  
  495.   (* ---------------- Prozeduren zu den AES-Bibliotheken ----------------- *)
  496.  
  497.   (* -------------------- AES Applikations-Bibliothek -------------------- *)
  498.  
  499.  
  500.   PROCEDURE ApplInitialise (VAR Identification : INTEGER);
  501.  
  502.    (* AES-Funktionsnummer:  10 *)
  503.  
  504.  
  505.   PROCEDURE ApplRead (Identification   : INTEGER;
  506.                       LengthBytes      : INTEGER;
  507.                       VAR MessageEvent : MessageEventType);
  508.  
  509.     (* AES-Funktionsnummer:  11 *)
  510.  
  511.  
  512.   PROCEDURE ApplWrite (Identification   : INTEGER;
  513.                        LengthBytes      : INTEGER;
  514.                        VAR MessageEvent : MessageEventType);
  515.  
  516.     (* AES-Funktionsnummer:  12 *)
  517.  
  518.  
  519.   PROCEDURE ApplFind (VAR ApplicationName : ARRAY OF CHAR;
  520.                       VAR Identification  : INTEGER);
  521.  
  522.     (* AES-Funktionsnummer:  13 *)
  523.  
  524.  
  525.   PROCEDURE ApplTapePlayback (VAR TapeMemory : ARRAY OF ApplTapeType;
  526.                               NumberOfEvents : INTEGER;
  527.                               TapeSpeedScale : INTEGER);
  528.  
  529.     (* AES-Funktionsnummer:  14 *)
  530.  
  531.  
  532.   PROCEDURE ApplTapeRecord (VAR TapeMemory : ARRAY OF ApplTapeType; (* Ab Blitter-TOS *)
  533.                             NumberOfEvents : INTEGER);
  534.  
  535.     (* AES-Funktionsnummer:  15 *)
  536.  
  537.  
  538.   PROCEDURE ApplSetDiskDrives (DiskDrives     : BITSET;
  539.                                HardDiskDrives : BITSET;
  540.                                VAR Return     : INTEGER);
  541.  
  542.     (* AES-Funktionsnummer:  16 *)
  543.     (* Ab GEM 2.0               *)
  544.  
  545.  
  546.   PROCEDURE ApplYield (VAR Return : INTEGER);
  547.  
  548.     (* AES-Funktionsnummer:  17 *)
  549.     (* Ab GEM 2.0               *)
  550.  
  551.  
  552.   PROCEDURE ApplExit;
  553.  
  554.     (* AES-Funktionsnummer:  19 *)
  555.  
  556.  
  557.  
  558.   (* ---------------------- AES Ereignis-Bibliothek ---------------------- *)
  559.  
  560.  
  561.   PROCEDURE EventKeyboard (VAR KeyCode : INTEGER);
  562.  
  563.     (* AES-Funktionsnummer:  20 *)
  564.  
  565.  
  566.   PROCEDURE EventButton (MaxMouseButtonClicks  : INTEGER;
  567.                          MouseButtonMask       : BITSET;
  568.                          MouseButtonState      : BITSET;
  569.                          VAR MouseXPos         : INTEGER;
  570.                          VAR MouseYPos         : INTEGER;
  571.                          VAR MouseButtons      : BITSET;
  572.                          VAR KeyboardState     : BITSET;
  573.                          VAR MouseButtonClicks : INTEGER);
  574.  
  575.     (* AES-Funktionsnummer:  21 *)
  576.  
  577.  
  578.   PROCEDURE EventMouse (Mode              : INTEGER (*0..1*);
  579.                         BoxXPos           : INTEGER;
  580.                         BoxYPos           : INTEGER;
  581.                         BoxWidth          : INTEGER;
  582.                         BoxHeight         : INTEGER;
  583.                         VAR MouseXPos     : INTEGER;
  584.                         VAR MouseYPos     : INTEGER;
  585.                         VAR MouseButtons  : BITSET;
  586.                         VAR KeyboardState : BITSET);
  587.  
  588.     (* AES-Funktionsnummer:  22 *)
  589.  
  590.  
  591.   PROCEDURE EventMessage (VAR MessageEvent : MessageEventType);
  592.  
  593.     (* AES-Funktionsnummer:  23 *)
  594.  
  595.  
  596.   PROCEDURE EventTimer (LowCount  : INTEGER;
  597.                         HighCount : INTEGER);
  598.  
  599.     (* AES-Funktionsnummer:  24 *)
  600.  
  601.  
  602.   PROCEDURE EventMultiple (EventFlags            : BITSET;
  603.                            MaxMouseButtonClicks  : INTEGER;
  604.                            MouseButtonMask       : BITSET;
  605.                            MouseButtonState      : BITSET;
  606.                            Mode1                 : INTEGER (*0..1*);
  607.                            Box1XPos              : INTEGER;
  608.                            Box1YPos              : INTEGER;
  609.                            Box1Width             : INTEGER;
  610.                            Box1Height            : INTEGER;
  611.                            Mode2                 : INTEGER (*0..1*);
  612.                            Box2XPos              : INTEGER;
  613.                            Box2YPos              : INTEGER;
  614.                            Box2Width             : INTEGER;
  615.                            Box2Height            : INTEGER;
  616.                            LowCount              : INTEGER;
  617.                            HighCount             : INTEGER;
  618.                            VAR Events            : BITSET;
  619.                            VAR MessageEvent      : MessageEventType;
  620.                            VAR MouseXPos         : INTEGER;
  621.                            VAR MouseYPos         : INTEGER;
  622.                            VAR MouseButtons      : BITSET;
  623.                            VAR KeyboardState     : BITSET;
  624.                            VAR KeyCode           : INTEGER;
  625.                            VAR MouseButtonClicks : INTEGER);
  626.  
  627.     (* AES-Funktionsnummer:  25 *)
  628.  
  629.  
  630.   PROCEDURE EventDoubleClick (NewSpeed  : INTEGER (*0..4*);
  631.                               GetOrSet  : INTEGER (*0..1*);
  632.                               VAR Speed : INTEGER (*0..4*));
  633.  
  634.     (* AES-Funktionsnummer:  26 *)
  635.  
  636.  
  637.  
  638.   (* ------------------------ AES Menü-Bibliothek ------------------------ *)
  639.  
  640.  
  641.   PROCEDURE MenuBar (TreePointer : TreePointerType;
  642.                      Show        : INTEGER (*0..1*));
  643.  
  644.     (* AES-Funktionsnummer:  30 *)
  645.  
  646.  
  647.   PROCEDURE MenuItemCheck (TreePointer : TreePointerType;
  648.                            Item        : INTEGER;
  649.                            Check       : INTEGER (*0..1*));
  650.  
  651.     (* AES-Funktionsnummer:  31 *)
  652.  
  653.  
  654.   PROCEDURE MenuItemEnable (TreePointer : TreePointerType;
  655.                             Item        : INTEGER;
  656.                             Enable      : INTEGER (*0..1*));
  657.  
  658.     (* AES-Funktionsnummer:  32 *)
  659.  
  660.  
  661.   PROCEDURE MenuTitleNormal (TreePointer : TreePointerType;
  662.                              Title       : INTEGER;
  663.                              Normal      : INTEGER (*0..1*));
  664.  
  665.     (* AES-Funktionsnummer:  33 *)
  666.  
  667.  
  668.   PROCEDURE MenuText (TreePointer : TreePointerType;
  669.                       Item        : INTEGER;
  670.                       VAR Text    : ARRAY OF CHAR);
  671.  
  672.     (* AES-Funktionsnummer:  34 *)
  673.  
  674.  
  675.   PROCEDURE MenuRegister (ApplicationIdentification : INTEGER;
  676.                           VAR Text                  : ARRAY OF CHAR;
  677.                           VAR MenuIdentification    : INTEGER);
  678.  
  679.     (* AES-Funktionsnummer:  35 *)
  680.  
  681.  
  682.   PROCEDURE MenuUnregister (ApplicationIdentification : INTEGER;
  683.                             VAR Return                : INTEGER);
  684.  
  685.     (* AES-Funktionsnummer:  36 *)
  686.     (* Ab GEM 2.0               *)
  687.  
  688.  
  689.   (* ----------------------- AES Objekt-Bibliothek ----------------------- *)
  690.  
  691.  
  692.   PROCEDURE ObjectAdd (TreePointer : TreePointerType;
  693.                        Parent      : INTEGER;
  694.                        Child       : INTEGER);
  695.  
  696.     (* AES-Funktionsnummer:  40 *)
  697.  
  698.  
  699.   PROCEDURE ObjectDelete (TreePointer : TreePointerType;
  700.                           Object      : INTEGER);
  701.  
  702.     (* AES-Funktionsnummer:  41 *)
  703.  
  704.  
  705.   PROCEDURE ObjectDraw (TreePointer    : TreePointerType;
  706.                         StartObject    : INTEGER;
  707.                         Depth          : INTEGER;
  708.                         ClippingXPos   : INTEGER;
  709.                         ClippingYPos   : INTEGER;
  710.                         ClippingWidth  : INTEGER;
  711.                         ClippingHeight : INTEGER);
  712.  
  713.     (* AES-Funktionsnummer:  42 *)
  714.  
  715.  
  716.   PROCEDURE ObjectFind (TreePointer : TreePointerType;
  717.                         StartObject : INTEGER;
  718.                         Depth       : INTEGER;
  719.                         MouseXPos   : INTEGER;
  720.                         MouseYPos   : INTEGER;
  721.                         VAR Object  : INTEGER);
  722.  
  723.     (* AES-Funktionsnummer:  43 *)
  724.  
  725.  
  726.   PROCEDURE ObjectOffset (TreePointer : TreePointerType;
  727.                           Object      : INTEGER;
  728.                           VAR XOffset : INTEGER;
  729.                           VAR YOffset : INTEGER);
  730.  
  731.     (* AES-Funktionsnummer:  44 *)
  732.  
  733.  
  734.   PROCEDURE ObjectOrder (TreePointer : TreePointerType;
  735.                          Object      : INTEGER;
  736.                          NewPos      : INTEGER);
  737.  
  738.     (* AES-Funktionsnummer:  45 *)
  739.  
  740.  
  741.   PROCEDURE ObjectEdit (TreePointer    : TreePointerType;
  742.                         Object         : INTEGER;
  743.                         KeyCode        : INTEGER;
  744.                         CharPos        : INTEGER;
  745.                         EditKind       : INTEGER;
  746.                         VAR NewCharPos : INTEGER);
  747.  
  748.     (* AES-Funktionsnummer:  46 *)
  749.  
  750.  
  751.   PROCEDURE ObjectChange (TreePointer    : TreePointerType;
  752.                           Object         : INTEGER;
  753.                           Reserved       : INTEGER (*0*);
  754.                           ClipXPos       : INTEGER;
  755.                           ClipYPos       : INTEGER;
  756.                           ClipWidth      : INTEGER;
  757.                           ClipHeight     : INTEGER;
  758.                           NewObjectState : BITSET;
  759.                           Redraw         : INTEGER (*0..1*));
  760.  
  761.     (* AES-Funktionsnummer:  47 *)
  762.  
  763.  
  764.  
  765.    (* ---------------------- AES Formular-Bibliothek ---------------------- *)
  766.  
  767.  
  768.   PROCEDURE FormDo (TreePointer    : TreePointerType;
  769.                     StartObject    : INTEGER;
  770.                     VAR ExitObject : INTEGER);
  771.  
  772.     (* AES-Funktionsnummer:  50 *)
  773.  
  774.  
  775.   PROCEDURE FormDialogue (Flag            : INTEGER (*0..3*);
  776.                           LittleBoxXPos   : INTEGER;
  777.                           LittleBoxYPos   : INTEGER;
  778.                           LittleBoxWidth  : INTEGER;
  779.                           LittleBoxHeight : INTEGER;
  780.                           BigBoxXPos      : INTEGER;
  781.                           BigBoxYPos      : INTEGER;
  782.                           BigBoxWidth     : INTEGER;
  783.                           BigBoxHeight    : INTEGER);
  784.  
  785.     (* AES-Funktionsnummer:  51 *)
  786.  
  787.  
  788.   PROCEDURE FormAlert (DefaultButton  : INTEGER;
  789.                        AlertText      : ARRAY OF CHAR;
  790.                        VAR ExitButton : INTEGER);
  791.  
  792.     (* AES-Funktionsnummer:  52 *)
  793.  
  794.  
  795.   PROCEDURE FormError (ErrorNumber    : INTEGER;
  796.                        VAR ExitButton : INTEGER);
  797.  
  798.     (* AES-Funktionsnummer:  53 *)
  799.  
  800.  
  801.   PROCEDURE FormCenter (TreePointer : TreePointerType;
  802.                         VAR XPos    : INTEGER;
  803.                         VAR YPos    : INTEGER;
  804.                         VAR Width   : INTEGER;
  805.                         VAR Height  : INTEGER);
  806.  
  807.     (* AES-Funktionsnummer:  54 *)
  808.  
  809.  
  810.   PROCEDURE FormKeyboard (TreePointer          : TreePointerType;
  811.                           Object               : INTEGER;
  812.                           Reserved             : INTEGER (*0*);
  813.                           KeyCode              : INTEGER;
  814.                           VAR KeyCodeReturn    : INTEGER;
  815.                           VAR NextEditObject   : INTEGER;
  816.                           VAR ObjectReturn     : INTEGER);
  817.  
  818.     (* AES-Funktionsnummer:  55 *)
  819.  
  820.  
  821.  
  822.   PROCEDURE FormButton (TreePointer       : TreePointerType;
  823.                         Object            : INTEGER;
  824.                         MouseButtonClicks : INTEGER;
  825.                         VAR NextObject    : INTEGER;
  826.                         VAR ObjectReturn  : INTEGER);
  827.  
  828.     (* AES-Funktionsnummer:  56 *)
  829.  
  830.  
  831.  
  832.   (* ----------------------- AES Grafik-Bibliothek ----------------------- *)
  833.  
  834.  
  835.   PROCEDURE GrafRubberBox (XPos             : INTEGER;
  836.                            YPos             : INTEGER;
  837.                            MinWidth         : INTEGER;
  838.                            MinHeight        : INTEGER;
  839.                            VAR FinishWidth  : INTEGER;
  840.                            VAR FinishHeight : INTEGER);
  841.  
  842.     (* AES-Funktionsnummer:  70 *)
  843.  
  844.  
  845.   PROCEDURE GrafDragBox (Width       : INTEGER;
  846.                          Height      : INTEGER;
  847.                          StartXPos   : INTEGER;
  848.                          StartYPos   : INTEGER;
  849.                          BoundXPos   : INTEGER;
  850.                          BoundYPos   : INTEGER;
  851.                          BoundWidth  : INTEGER;
  852.                          BoundHeight : INTEGER;
  853.                          VAR FinishX : INTEGER;
  854.                          VAR FinishY : INTEGER);
  855.  
  856.     (* AES-Funktionsnummer:  71 *)
  857.  
  858.  
  859.   PROCEDURE GrafMoveBox (Width      : INTEGER;
  860.                          Height     : INTEGER;
  861.                          StartXPos  : INTEGER;
  862.                          StartYPos  : INTEGER;
  863.                          FinishXPos : INTEGER;
  864.                          FinishYPos : INTEGER);
  865.  
  866.     (* AES-Funktionsnummer:  72 *)
  867.  
  868.  
  869.   PROCEDURE GrafGrowBox (StartXPos    : INTEGER;
  870.                          StartYPos    : INTEGER;
  871.                          StartWidth   : INTEGER;
  872.                          StartHeight  : INTEGER;
  873.                          FinishXPos   : INTEGER;
  874.                          FinishYPos   : INTEGER;
  875.                          FinishWidth  : INTEGER;
  876.                          FinishHeight : INTEGER);
  877.  
  878.     (* AES-Funktionsnummer:  73 *)
  879.  
  880.  
  881.   PROCEDURE GrafShrinkBox (FinishXPos   : INTEGER;
  882.                            FinishYPos   : INTEGER;
  883.                            FinishWidth  : INTEGER;
  884.                            FinishHeight : INTEGER;
  885.                            StartXPos    : INTEGER;
  886.                            StartYPos    : INTEGER;
  887.                            StartWidth   : INTEGER;
  888.                            StartHeight  : INTEGER);
  889.  
  890.     (* AES-Funktionsnummer:  74 *)
  891.  
  892.  
  893.   PROCEDURE GrafWatchBox (TreePointer    : TreePointerType;
  894.                           Object         : INTEGER;
  895.                           InObjectState  : BITSET;
  896.                           OutObjectState : BITSET;
  897.                           VAR InOutside  : INTEGER);
  898.  
  899.     (* AES-Funktionsnummer:  75 *)
  900.  
  901.  
  902.   PROCEDURE GrafSlideBox (TreePointer    : TreePointerType;
  903.                           Parent         : INTEGER;
  904.                           Object         : INTEGER;
  905.                           VertHorizSlide : INTEGER (*0..1*);
  906.                           VAR SliderPos  : INTEGER);
  907.  
  908.     (* AES-Funktionsnummer:  76 *)
  909.  
  910.  
  911.   PROCEDURE GrafHandle (VAR CharWidth  : INTEGER;
  912.                         VAR CharHeight : INTEGER;
  913.                         VAR CellWidth  : INTEGER;
  914.                         VAR CellHeight : INTEGER;
  915.                         VAR Return     : INTEGER);
  916.  
  917.     (* AES-Funktionsnummer:  77 *)
  918.  
  919.  
  920.   PROCEDURE GrafMouse (MouseNumber      : INTEGER;
  921.                        MouseFormPointer : MouseFormPointerType);
  922.  
  923.     (* AES-Funktionsnummer:  78 *)
  924.  
  925.  
  926.   PROCEDURE GrafMouseKeyboardState (VAR MouseXPos     : INTEGER;
  927.                                     VAR MouseYPos     : INTEGER;
  928.                                     VAR MouseButtons  : BITSET;
  929.                                     VAR KeyboardState : BITSET);
  930.  
  931.     (* AES-Funktionsnummer:  79 *)
  932.  
  933.  
  934.  
  935.   (* ------------------- AES Zwischenablage-Bibliothek ------------------- *)
  936.  
  937.  
  938.   PROCEDURE ScrapRead (VAR Path : ARRAY OF CHAR);
  939.  
  940.     (* AES-Funktionsnummer:  80 *)
  941.  
  942.  
  943.   PROCEDURE ScrapWrite (Path : ARRAY OF CHAR);
  944.  
  945.     (* AES-Funktionsnummer:  81 *)
  946.  
  947.  
  948.   PROCEDURE ScrapClear (VAR Return : INTEGER);
  949.  
  950.     (* AES-Funktionsnummer:  82 *)
  951.     (* AB GEM 2.0               *)
  952.  
  953.  
  954.   (* -------------------- AES Dateiauswahl-Bibliothek -------------------- *)
  955.  
  956.  
  957.   PROCEDURE FileSelectorInput (VAR Path       : ARRAY OF CHAR;
  958.                                VAR Select     : ARRAY OF CHAR;
  959.                                VAR ExitButton : INTEGER);
  960.  
  961.     (* AES-Funktionsnummer:  90 *)
  962.  
  963.  
  964.   PROCEDURE FileSelectorTitleInput (VAR Path       : ARRAY OF CHAR; (* Ab TOS 1.4 *)
  965.                                     VAR Select     : ARRAY OF CHAR;
  966.                                     VAR ExitButton : INTEGER;
  967.                                     VAR Label      : ARRAY OF CHAR);
  968.  
  969.     (* AES-Funktionsnummer:  91 *)
  970.  
  971.  
  972.   (* ---------------------- AES Fenster-Bibliothek ----------------------- *)
  973.  
  974.  
  975.   PROCEDURE WindowCreate (Kind       : BITSET;
  976.                           MinXPos    : INTEGER;
  977.                           MinYPos    : INTEGER;
  978.                           MaxWidth   : INTEGER;
  979.                           MaxHeight  : INTEGER;
  980.                           VAR Handle : INTEGER);
  981.  
  982.     (* AES-Funktionsnummer: 100 *)
  983.  
  984.  
  985.   PROCEDURE WindowOpen (Handle : INTEGER;
  986.                         XPos   : INTEGER;
  987.                         YPos   : INTEGER;
  988.                         Width  : INTEGER;
  989.                         Height : INTEGER);
  990.  
  991.     (* AES-Funktionsnummer: 101 *)
  992.  
  993.  
  994.   PROCEDURE WindowClose (Handle : INTEGER);
  995.  
  996.     (* AES-Funktionsnummer: 102 *)
  997.  
  998.  
  999.   PROCEDURE WindowDelete (Handle : INTEGER);
  1000.  
  1001.     (* AES-Funktionsnummer: 103 *)
  1002.  
  1003.  
  1004.  
  1005.   PROCEDURE WindowGet (Handle    : INTEGER;
  1006.                        Mode      : INTEGER;
  1007.                        VAR Data1 : INTEGER;
  1008.                        VAR Data2 : INTEGER;
  1009.                        VAR Data3 : INTEGER;
  1010.                        VAR Data4 : INTEGER);
  1011.  
  1012.     (* AES-Funktionsnummer: 104 *)
  1013.  
  1014.  
  1015.   PROCEDURE WindowSet (Handle : INTEGER;
  1016.                        Mode   : INTEGER;
  1017.                        Data1  : INTEGER;
  1018.                        Data2  : INTEGER;
  1019.                        Data3  : INTEGER;
  1020.                        Data4  : INTEGER);
  1021.  
  1022.     (* AES-Funktionsnummer: 105 *)
  1023.  
  1024.  
  1025.   PROCEDURE WindowFind (MouseXPos  : INTEGER;
  1026.                         MouseYPos  : INTEGER;
  1027.                         VAR Handle : INTEGER);
  1028.  
  1029.     (* AES-Funktionsnummer: 106 *)
  1030.  
  1031.  
  1032.   PROCEDURE WindowUpdate (BeginEnd : INTEGER);
  1033.  
  1034.     (* AES-Funktionsnummer: 107 *)
  1035.  
  1036.  
  1037.   PROCEDURE WindowCalc (Mode          : INTEGER;
  1038.                         Kind          : BITSET;
  1039.                         InXPos        : INTEGER;
  1040.                         InYPos        : INTEGER;
  1041.                         InWidth       : INTEGER;
  1042.                         InHeight      : INTEGER;
  1043.                         VAR OutXPos   : INTEGER;
  1044.                         VAR OutYPos   : INTEGER;
  1045.                         VAR OutWidth  : INTEGER;
  1046.                         VAR OutHeight : INTEGER);
  1047.  
  1048.     (* AES-Funktionsnummer: 108 *)
  1049.  
  1050.  
  1051.   PROCEDURE WindowNew; (* Ab TOS 1.4 *)
  1052.  
  1053.     (* AES-Funktionsnummer: 109 *)
  1054.  
  1055.  
  1056.  
  1057.   (* ---------------------- AES Resource-Bibliothek ---------------------- *)
  1058.  
  1059.  
  1060.   PROCEDURE ResourceLoad (Path : ARRAY OF CHAR);
  1061.  
  1062.     (* AES-Funktionsnummer: 110 *)
  1063.  
  1064.  
  1065.   PROCEDURE ResourceFree;
  1066.  
  1067.     (* AES-Funktionsnummer: 111 *)
  1068.  
  1069.  
  1070.   PROCEDURE ResourceGetAddress (Mode        : INTEGER;
  1071.                                 Index       : INTEGER;
  1072.                                 VAR Address : ADDRESS);
  1073.  
  1074.     (* AES-Funktionsnummer: 112 *)
  1075.  
  1076.  
  1077.   PROCEDURE ResourceSetAddress (Mode    : INTEGER;
  1078.                                 Index   : INTEGER;
  1079.                                 Address : ADDRESS);
  1080.  
  1081.     (* AES-Funktionsnummer: 113 *)
  1082.  
  1083.  
  1084.   PROCEDURE ResourceObjectFix (TreePointer : TreePointerType;
  1085.                                Object      : INTEGER);
  1086.  
  1087.     (* AES-Funktionsnummer: 114 *)
  1088.  
  1089.  
  1090.  
  1091.   (* ----------------------- AES Shell-Bibliothek ------------------------ *)
  1092.  
  1093.  
  1094.   PROCEDURE ShellRead (VAR CommandLine : ARRAY OF CHAR;
  1095.                        VAR Path        : ARRAY OF CHAR);
  1096.  
  1097.     (* AES-Funktionsnummer: 120 *)
  1098.  
  1099.  
  1100.   PROCEDURE ShellWrite (ExecuteApplication : INTEGER (*0..1*);
  1101.                         GraphicApplication : INTEGER (*0..1*);
  1102.                         GEMApplication     : INTEGER (*0..1*);
  1103.                         CommandLine        : ARRAY OF CHAR;
  1104.                         Path               : ARRAY OF CHAR);
  1105.  
  1106.     (* AES-Funktionsnummer: 121 *)
  1107.  
  1108.  
  1109.   PROCEDURE ShellGet (LengthBytes           : INTEGER;
  1110.                       VAR EnvironmentBuffer : ARRAY OF CHAR;
  1111.                       VAR ReadBytes         : INTEGER);
  1112.  
  1113.     (* AES-Funktionsnummer: 122 *)
  1114.  
  1115.  
  1116.  
  1117.   PROCEDURE ShellPut (LengthBytes           : INTEGER;
  1118.                       VAR EnvironmentBuffer : ARRAY OF CHAR;
  1119.                       VAR WrittenBytes      : INTEGER);
  1120.  
  1121.     (* AES-Funktionsnummer: 123 *)
  1122.  
  1123.  
  1124.   PROCEDURE ShellFind (VAR Path : ARRAY OF CHAR);
  1125.  
  1126.     (* AES-Funktionsnummer: 124 *)
  1127.  
  1128.  
  1129.   PROCEDURE ShellEnvironment (VAR DOSVariableValue : ARRAY OF CHAR;
  1130.                               VAR DOSVariable      : ARRAY OF CHAR);
  1131.  
  1132.     (* AES-Funktionsnummer: 125 *)
  1133.  
  1134.  
  1135.   PROCEDURE ShellReadDefault (VAR Command   : ARRAY OF CHAR;
  1136.                               VAR Directory : ARRAY OF CHAR;
  1137.                               VAR Return    : INTEGER);
  1138.  
  1139.     (* AES-Funktionsnummer: 126 *)
  1140.     (* Ab GEM 2.0               *)
  1141.  
  1142.  
  1143.   PROCEDURE ShellWriteDefault (Command    : ARRAY OF CHAR;
  1144.                                Directory  : ARRAY OF CHAR;
  1145.                                VAR Return : INTEGER);
  1146.  
  1147.     (* AES-Funktionsnummer: 127 *)
  1148.     (* Ab GEM 2.0               *)
  1149.  
  1150.  
  1151.   (* ------------------- AES Extra-Grafik Bibliothek --------------------- *)
  1152.  
  1153.  
  1154.   PROCEDURE ExtraGrafCalculateSteps (StartWidth       : INTEGER;
  1155.                                      StartHeight      : INTEGER;
  1156.                                      FinishXPos       : INTEGER;
  1157.                                      FinishYPos       : INTEGER;
  1158.                                      FinishWidth      : INTEGER;
  1159.                                      FinishHeight     : INTEGER;
  1160.                                      VAR CenteredXPos : INTEGER;
  1161.                                      VAR CenteredYPos : INTEGER;
  1162.                                      VAR StepCount    : INTEGER;
  1163.                                      VAR StepWidth    : INTEGER;
  1164.                                      VAR StepHeight   : INTEGER;
  1165.                                      VAR Return       : INTEGER);
  1166.  
  1167.     (* AES-Funktionsnummer: 130 *)
  1168.     (* Ab GEM 2.0               *)
  1169.  
  1170.  
  1171.   PROCEDURE ExtraGraf2Box (StepCount   : INTEGER;
  1172.                            StepWidth   : INTEGER;
  1173.                            StepHeight  : INTEGER;
  1174.                            DoubleSteps : INTEGER (*0..1*);
  1175.                            OnlyCorners : INTEGER (*0..1*);
  1176.                            StartXPos   : INTEGER;
  1177.                            StartYPos   : INTEGER;
  1178.                            StartWidth  : INTEGER;
  1179.                            StartHeight : INTEGER;
  1180.                            VAR Return  : INTEGER);
  1181.  
  1182.     (* AES-Funktionsnummer: 131 *)
  1183.     (* Ab GEM 2.0               *)
  1184.  
  1185.  
  1186.   (* -------------- AES Globale Variablen & Aufrufprozedur --------------- *)
  1187.  
  1188.  
  1189.   CONST
  1190.     MaxIntegerInSize  = 17;
  1191.     MaxIntegerOutSize = 8;
  1192.     MaxAddressInSize  = 3;
  1193.     MaxAddressOutSize = 2;
  1194.  
  1195.   TYPE
  1196.     GlobalType =     RECORD
  1197.                        ApplicationVersion        : INTEGER;
  1198.                        ApplicationCount          : INTEGER;
  1199.                        ApplicationIdentification : INTEGER;
  1200.                        ApplicationPrivate        : LONGINT;
  1201.                        ApplicationTreePointer    : ADDRESS;
  1202.                        ApplicationMemoryPointer  : ADDRESS;
  1203.                        ApplicationMemoryLength   : INTEGER;
  1204.                        ApplicationPlanes         : INTEGER;
  1205.                        ApplicationReserved       : LONGINT;
  1206.                        ApplicationDiskDrives     : BITSET; (* Erst ab Blitter-TOS *)
  1207.                        ApplicationHarddiskDrives : BITSET; (* Erst ab GEM 2.0     *)
  1208.                      END;
  1209.     ControlType    = RECORD
  1210.                        Opcode         : INTEGER;
  1211.                        IntegerInSize  : INTEGER;
  1212.                        IntegerOutSize : INTEGER;
  1213.                        AddressInSize  : INTEGER;
  1214.                        AddressOutSize : INTEGER;
  1215.                      END;
  1216.     IntegerInType  = ARRAY [0..MaxIntegerInSize  - 1] OF INTEGER;
  1217.     IntegerOutType = ARRAY [0..MaxIntegerOutSize - 1] OF INTEGER;
  1218.     AddressInType  = ARRAY [0..MaxAddressInSize  - 1] OF ADDRESS;
  1219.     AddressOutType = ARRAY [0..MaxAddressOutSize - 1] OF ADDRESS;
  1220.     ParameterType  = RECORD
  1221.                        Control    : POINTER TO ControlType;
  1222.                        Global     : POINTER TO GlobalType;
  1223.                        IntegerIn  : POINTER TO IntegerInType;
  1224.                        IntegerOut : POINTER TO IntegerOutType;
  1225.                        AddressIn  : POINTER TO AddressInType;
  1226.                        AddressOut : POINTER TO AddressOutType;
  1227.                      END;
  1228.  
  1229.  
  1230.   VAR
  1231.     Parameters : ParameterType;
  1232.     Global     : GlobalType;
  1233.     Control    : ControlType;
  1234.     IntegerIn  : IntegerInType;
  1235.     IntegerOut : IntegerOutType;
  1236.     AddressIn  : AddressInType;
  1237.     AddressOut : AddressOutType;
  1238.     CallResult : INTEGER;
  1239.  
  1240.  
  1241.   PROCEDURE GemCall (Opcode         : INTEGER;
  1242.                      IntegerInSize  : INTEGER;
  1243.                      IntegerOutSize : INTEGER;
  1244.                      AddressInSize  : INTEGER;
  1245.                      AddressOutSize : INTEGER;
  1246.                      VAR CallResult : INTEGER);
  1247.  
  1248.  
  1249. END AES.
  1250.